1. Field of the Invention
This invention relates in general to the field of computer systems, and in particular, to a method and apparatus for performing vertical parallel computations and data format conversion for graphics.
2. Description of Related Art
To improve the efficiency of multi-dimensional computations, Single-Instruction, Multiple Data (SIMD) architectures have been developed. A typical SIMD architecture enables one instruction to operate on several operands simultaneously. In particular, SIMD architectures take advantage of packing many data elements within one register or memory location. With parallel hardware execution, multiple operations can be performed with one instruction, resulting in significant performance improvement. Traditional SIMD architectures perform mainly "vertical" operations where corresponding elements in separate operands are operated upon in parallel and independently.
Although many applications currently in use can take advantage of such vertical operations, there are a number of important applications which would require the re-arrangement of the data elements before vertical operations can be implemented so as to provide realization of the application. Examples of such applications include the dot product and matrix multiplication operations, which are commonly used in 3-D graphics and signal processing applications.
In three-dimensional (3-D) graphics applications, the graphic processor usually renders a graphic object based on a set of graphical data. There are situations where the graphical data are presented to the graphic processor in a data format that is not compatible with the format as processed by the graphic processor.
Therefore, there is a need in the technology for providing an apparatus and method to efficiently perform vertical SIMD computations and data format conversion for 3-D graphic transformations.